package com.wicket.okrcomponent.biz.service.dto.req;

import com.wicket.okrcomponent.common.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * @desc AddMemberVirtualImageReqDto
 * @使用场景
 */
@Data
public class AddMemberVirtualImageReqDto
  extends BaseDto
  implements Serializable {

  /**
   * 选用虚拟形象ID
   */
  @NotNull(message = "选用虚拟形象ID不能为空")
  @ApiModelProperty("选用虚拟形象ID")
  private String virtualImageId;

  /**
   * 虚拟形象标识
   */
  @NotNull(message = "虚拟形象标识不能为空")
  @ApiModelProperty("虚拟形象标识")
  private String virtualImageCode;

  /**
   * 身份人员ID
   */
  @ApiModelProperty("身份人员ID")
  private String originalRoleMemberId;

  /**
   * 冗余个人账号ID
   */
  @ApiModelProperty("冗余个人账号ID")
  private String userId;

  /**
   * 冗余使用场景类型编码 SYSTEM:消息
   */
  @NotNull(message = "冗余使用场景类型编码不能为空")
  @ApiModelProperty("冗余使用场景类型编码")
  private String sceneTypeCode;

  /**
   * 使用场景子类型 STRONG_REMINDER_BY_ASSISTANT:助手强提醒 CHAT_VIRTUAL_IMAGE:沟通形象 CONTENT_VIRTUAL:内容消息形象
   */
  @NotNull(message = "使用场景子类型不能为空")
  @ApiModelProperty("使用场景子类型")
  private String sceneSubTypeCode;

  /**
   * 虚拟形象展示用途类型 SELF_COGNITION:自醒 OTHER_COGNITION:他醒
   */
  @NotNull(message = "虚拟形象展示用途类型不能为空")
  @ApiModelProperty("虚拟形象展示用途类型")
  private String virtualImageViewType;

  /**
   * 冗余是否自定义形象 TRUE:是 FALSE:否
   */
  @NotNull(message = "冗余是否自定义形象不能为空")
  @ApiModelProperty("冗余是否自定义形象")
  private String isCustomImage;

  /**
   * 是否已启用 TRUE:是 FALSE:否
   */
  @NotNull(message = "是否已启用不能为空")
  @ApiModelProperty("是否已启用")
  private String isOpen;

  /**
   * 启用时间
   */
  @NotNull(message = "启用时间不能为空")
  @ApiModelProperty("启用时间")
  private Date openTime;

  /**
   * 主体生命周期 CURRENTLY_VALID:当前有效 EDITING:正在编辑 ARCHIVING:历史存档
   */
  @NotNull(message = "主体生命周期不能为空")
  @ApiModelProperty("主体生命周期")
  private String subjectLifeCycle;

  /**
   * 创建于空间ID
   */
  @NotNull(message = "创建于空间ID不能为空")
  @ApiModelProperty("创建于空间ID")
  private String spaceId;

}
